In Redundant Arrays of Inexpensive Disks (RAID) architectures, data from a number of disks is XORed to obtain a redundant disk. This way, if a disk suffers a failure, it can be reconstructed by XORing the surviving disks.
As an example, in so-called “RAID 4”, to a plurality of information disks a redundancy disk is added that is the XOR of data on the information disks. Because in RAID 4 the redundant disk must be accessed to be updated each time data is written to any information disk, a bottleneck effect is created in the redundant disk. Such asymmetry of access is avoided in so-called “RAID 5” architectures, in which the redundancy is distributed among all disks. Thus, each disk has the same probability of being updated as any other disk, assuming a random, equally likely distribution of writes among all disks that are part of said RAID 5 architecture.
Regardless of the particular type of RAID, heretofore sectors in each disk have been XORed with geometrically corresponding sectors in the other disks. That means that data on the mth physical location (e.g., sector or track) of each of plural disks is XORed together for RAID purposes among all disks. This has been done because hard disk drives typically use zone recording, in which the number of sectors varies with the radius of track. For instance, regions of the disk near the outer diameter (OD) contain more sectors than regions near the medium diameter (MD), which in turn contain more sectors than regions near the inner diameter (ID).
As critically recognized herein, different disk regions can have differing error statistics. For example, a HDD may suffer from a problem at the OD (approximately, at 5% of its capacity), and repeated writes there may stress the data (magnetic or physical) in tracks that are near the one being written, essentially wiping out the data written in that adjacent track. The more writes, the more the probability of error, which may degrade linearly or worse with the number of writes. In any case, the probability of error in a region may be a combination of diverse factors, including the geometric location of the region and the number of writes to the region.
U.S. Pat. No. 5,068,858 discloses using different levels of error correction code (ECC) at the ID and at the OD to account for differing error statistics in the respective regions. The present invention understands that ECC-based solutions are appropriate for individual disks, but in a RAID architecture, another method to increase reliability is required. Accordingly, the present invention has been provided.